/* 
 * File:   TreeInterface.h
 * Author: taylor
 *
 * Created on November 7, 2012, 2:32 PM
 */

#ifndef TREEINTERFACE_H
#define	TREEINTERFACE_H

#include "Term.h"
#include <string>
#include<fstream>

class TreeInterface {
public:
    /**
     * Insert a term into the tree structure
     * @param ptr to Term to insert
     */
    virtual void insert(Term*) = 0;
    /**
     * Search for a given word as the key value
     * @param word the word to search for
     * @return ptr to the matching Term
     */
    virtual Term* search(std::string word) = 0;
    /**
     * Output the index to the inverted index file
     * @param 
     */
    virtual void outputFile(ofstream&) = 0;
};

#endif	/* TREEINTERFACE_H */

